Digital systems have proliferated into entertainment, education, communication, business, etc. A digital system is generally comprised of devices designed to manipulate physical quantities or information that are represented in digital form. From the simplest on/off switching devices to the most complex computer systems, the digital system is typically electronic in form. Some of the examples of digital systems are calculators, digital computers, digital audio and video equipment, and the telephone system.
In a digital system, the clock is a signal (e.g., pulse) used to specify the precise times at which other signals change their state and thereby synchronize electronic components in integrated circuits. The clock signal is generally a rectangular pulse train or square wave. The clock signal is typically distributed to all parts of a digital system and most of the system outputs can change their state only when the clock makes transitions. For example, positive-going transition or rising edge transition refers to the change in clock state from logic 0 to logic 1. Conversely, negative-going transition or falling edge transition refers to the change in clock from logic 1 to logic 0.
Digital or computer systems typically include one or more processor chips mounted on a system board (e.g., motherboard). Traditionally, the processor and the system board have run at a same clock speed or frequency. For example in the earliest personal computers, both the processor and the system board ran at a speed of about 5 MHz. The one-to-one clock ratio between the processor and the system board was simple to design and implement in an integrated circuit (IC).
Over the years the speed of the processor and the system board has gradually increased thereby providing greater bandwidth and faster switching speed. In this evolution toward greater clock speed however, the increase in processor clock speed has been several times that of the increase in system board clock speed. For example, the clock speed for the processor has increased from about 5 MHz to over 300 MHz. In contrast, the clock speed of system board increased to only about 75 MHz.
The main reason for the difference in clock speed between the processor and the system board is the difference in loading. The processor clock is typically embedded in an integrated circuit chip driving its signal a distance of only a few millimeters. In contrast, the system board clock typically is required to support a myriad of devices and peripheral components such as a video chip, an audio chip, a modem, a network chip, an I/O chip, etc., and as a result, typically drives a signal distance of 10 times or more greater than the distance required of the processor clock. In addition, the processor is smaller in size than the system bus. Speeding up the speed the circuits of a chip is much easier than speeding up the circuits in the system board, which has longer, more heavily loaded, and noisier bus lines. Hence, the increase in system board clock speed has not kept up with the increase in the processor clock speed.
The difference in clock speed between the processor and the system board has required a coordination mechanism in conventional digital systems. A conventional coordination approach uses a bus unit to provide differing clocks to the processor and the system board. The bus unit allows the processor to run at the higher internal clock speed while allowing the system board to run at the lower external clock speed. The conventional bus unit typically allows ratios of two-to-one or four-to-one speed ratios. For example, a conventional four-to-one bus unit may allow an external clock provided to the system board to operate at 50 MHz and an internal clock provided to the processor to operate at 200 MHz.
Unfortunately, the conventional bus unit approach requires and dissipates more power by running the processor at the higher internal clock speed at all times. Running the internal clock at a constant rate several times the external clock rate is inefficient because a substantial amount of processor time is consumed in input/output (I/O) operations such as load/store operations that does not require the higher clock speed. This is because power is directly proportional to the clock speed at which the processor runs.